package com.day6.test8_lambda;

/**
 * @author 小坡
 * @date 2022/9/8  15:53
 **/
public class ShowHandlerDome {
    /*
    Lambda表达式的使用前提
        1.一个接口
        2．接口中有且仅有一个抽象方法
        练习1:
            1．编写一个接口 (ShowHandLer)
            2．在该接口中存在一个抽象方法(show)，该方法是无参数无返回值
            3．在测试类(ShowHandLerDemo）中存在一个方法(useShowHandLer>
                方法的的参数是ShowHandLer类型的
                在方法内部调用了ShowHandLer的show方法
    * */
    public static void main(String[] args) {
//        匿名内部类实现
        useShowHandler(new ShowHandler() {
            @Override
            public void show() {
                System.out.println("我是匿名内部类的show方法");
            }
        });

//  lambda实现   关注做什么 而不是怎么去做
        useShowHandler(() -> {
            System.out.println("我是Lambda的show方法");
        });
    }

    public static void useShowHandler(ShowHandler showHandler) {
        showHandler.show();
    }
}
